iT邦幫忙

2025 iThome 鐵人賽

DAY 2
0
Modern Web

30天入門:學會第一個前端框架-React系列 第 2

Day 2 | React入門:React 和 DOM 的關係

  • 分享至 

  • xImage
  •  

React 是一個用來操作 DOM 的 JavaScript 函式庫

DOM 是什麼

DOM 的全名是 Document Object Model (文件物件模型)

用途:

  • 瀏覽器用來將文件的結構(如HTML)表示和操作
  • 每個 HTML 標籤(如 <div>, <h1>)在 JavaScript 中都會變成一個「物件」
  • 可以透過 JavaScript 操作 DOM 來改變畫面

原生 DOM 的缺點

  • 需要手動使用JavaScript提供的API,例如document.getElementById, element.innerHTML等等
  • 程式碼冗長、容易出錯
  • 頻繁更新會導致效能開發大

Virtual DOM(虛擬 DOM)是什麼

  • React 會把畫面內容(JSX)先轉成一個JavaScript的樹狀結構(虛擬 DOM)
  • 每個元件或標籤在虛擬 DOM 中都是一個「物件」
  • 每次狀態改變(例如按鈕被點擊)時,React 會比較新舊虛擬 DOM 之間的差異,找出真正需要改變的部分
  • 最後只更新需要改變的部分到真實的DOM 上,不需要重新渲染整個畫面 → 更快更有效率

虛擬 DOM 的優點

  • 降低直接操作 DOM 的成本
  • 只專注在實際改變的部分,提高效能

虛擬 DOM 的缺點

  • 每次更新都需要建立新的虛擬 DOM 樹,需引入額外的計算與記憶體開銷

比較

原生 DOM React
語法 冗長、容易錯 JSX 簡潔易懂
更新畫面 手動選 DOM、更新內容 自動處理
效率 慢(直接改 DOM) 高(Virtual DOM)
管理狀態 自己寫邏輯 useState 語法

結論

DOM 是畫面的實際結構
React 幫助「自動化、高效地操作 DOM」
JSX 將 React 對應成 DOM


上一篇
Day 1 | React入門:什麼是React?
下一篇
Day 3 | React入門:React的開發環境
系列文
30天入門:學會第一個前端框架-React18
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言